3.1 Izvuci listu svih customerName, ukupan broj uplaćenih paymenta za svaku osobu poređane po ukupnom iznosu.

	SELECT customerName, SUM(p.amount) as totalSpent FROM customers c
        INNER JOIN payments p ON (p.customerNumber = c.customerNumber)
        GROUP BY p.customerNumber
        ORDER BY totalSpent DESC

3.2 Izvuci listu productName, testDescription (iz product lines) gde je quantity in stock veća od nule.

	SELECT p.productName, pl.textDescription, p.quantityInStock FROM products p, productlines pl WHERE pl.productLine = p.productLine           AND p.quantityInStock > 0 ORDER BY p.quantityInStock DESC

3.3 Koji je employee napravio najveću ukupnu sumu uplaćenu?

	SELECT e.firstName, e.lastName, SUM(p.amount) as total FROM employees e
	INNER JOIN customers c ON (e.employeeNumber = c.salesRepEmployeeNumber)
	INNER JOIN payments p ON (c.customerNumber = p.customerNumber)
	GROUP by e.firstName, e.lastName ORDER BY total DESC LIMIT 1

	SELECT * FROM employees e WHERE e.employeeNumber IN (SELECT c.salesRepEmployeeNumber FROM customers c WHERE c.customerNumber =         	(SELECT customerNumber FROM payments GROUP BY customerNumber ORDER BY SUM(amount) DESC LIMIT 1 ) ) 

3.4 Koji je zaposleni napravio najviše porudžbina?
	
	SELECT e.firstName, e.lastName, COUNT(o.orderNumber) as total FROM employees e 
	INNER JOIN customers c ON (e.employeeNumber = c.salesRepEmployeeNumber)
	INNER JOIN orders o ON (c.customerNumber = o.customerNumber)
	GROUP BY e.firstName, e.lastName
	ORDER BY total DESC LIMIT 1;


3.5 Koji je office napravio najveću sumu plaćenu za godinu 2005?

	SELECT o.officeCode, o.city, p.amount FROM offices o
	JOIN employees e ON (e.officeCode = o.officeCode)
	JOIN customers c ON (c.salesRepEmployeeNumber = e.employeeNumber)
	JOIN payments p ON (p.customerNumber = c.customerNumber)
	WHERE DATE_FORMAT(p.paymentDate, '%Y') = '2005'
	ORDER BY p.amount DESC LIMIT 1;

3.6 Koji nam je najprodavaniji proizvod (po broju porudžbina)?

	SELECT p.productCode, p.productName, COUNT(ord.orderNumber) as total FROM products p
	INNER JOIN orderdetails o ON (o.productCode = p.productCode)
	INNER JOIN orders ord ON (ord.orderNumber = o.orderNumber)
	GROUP BY p.productCode, p.productName 
	ORDER BY total DESC LIMIT 1
	
3.7 Koji ured ima najviše porudžbina u periodu od prvog maja 2005god + 4 meseca?

	SELECT o.officeCode, o.city, COUNT(ord.orderNumber) as total FROM offices o 
	INNER JOIN employees e ON (e.officeCode = o.officeCode)
	INNER JOIN customers c ON (e.employeeNumber = c.salesRepEmployeeNumber)
	INNER JOIN orders ord ON (ord.customerNumber = c.customerNumber)
	WHERE ord.orderDate > '2005-05-01' AND ord.orderDate < DATE_ADD('2005-05-01', INTERVAL 4 MONTH)
	GROUP BY o.officeCode, o.city
	ORDER BY COUNT(ord.orderNumber) DESC LIMIT 1


3.8 Koji proizvod se najviše prodaje u Francuskoj ili Poljskoj?

	SELECT p.productCode, p.productName, COUNT(p.productCode) as total FROM products p
	JOIN orderdetails od ON (p.productCode = od.productCode)
	JOIN orders ord ON (ord.orderNumber = od.orderNumber)
	WHERE ord.customerNumber IN (SELECT customerNumber FROM customers WHERE country = 'France' OR country = 'Poland')
	GROUP BY p.productCode, p.productName
	ORDER BY total DESC

	SELECT p.productCode, p.productName, COUNT(o.orderNumber) as total FROM products p
	INNER JOIN orderdetails od ON (p.productCode = od.productCode)
	INNER JOIN orders o ON (o.orderNumber = od.orderNumber)
	INNER JOIN customers c ON (c.customerNumber = o.customerNumber)
	WHERE c.country = 'France' OR c.country = 'Poland'
	GROUP BY p.productCode, p.productName
	ORDER BY total DESC LIMIT 5

3.9 Koji je product line najćešće razlog za "disputed" u porudžbinama?
	
	SELECT pl.productLine, COUNT(ord.status) FROM productlines pl
	JOIN products p ON (pl.productLine = p.productLine)
	JOIN orderdetails od ON (p.productCode = od.productCode)
	JOIN orders ord ON (ord.orderNumber = od.orderNumber)
	WHERE ord.status = 'Disputed'
	GROUP BY pl.productLine

3.10 Kolika je ukupna zarada za svaki product line?

	SELECT pl.productLine, SUM(py.amount) as total FROM productlines pl
	JOIN products p ON (pl.productLine = p.productLine)
	JOIN orderdetails od ON (p.productCode = od.productCode)
	JOIN orders ord ON (ord.orderNumber = od.orderNumber)
	JOIN customers c ON (c.customerNumber = ord.customerNumber)
	JOIN payments py ON (py.customerNumber = c.customerNumber)
	GROUP BY pl.productLine
	ORDER BY total DESC